Apache ANT এর build.xml
ফাইল একটি XML ফরম্যাটে লেখা হয় এবং এটি ANT বিল্ড টুলের জন্য কনফিগারেশন ফাইল হিসেবে কাজ করে। build.xml
ফাইলে প্রজেক্ট বিল্ড করার জন্য বিভিন্ন টাস্ক, টার্গেট, প্রপার্টি এবং অন্যান্য নির্দেশাবলী সংজ্ঞায়িত করা হয়।
একটি সাধারণ build.xml
ফাইলের গঠন এবং এর কম্পোনেন্টগুলি নিচে ব্যাখ্যা করা হয়েছে।
build.xml
ফাইলের সাধারণ গঠন<?xml version="1.0" encoding="UTF-8"?>
<project name="ProjectName" default="default-target" basedir=".">
<!-- Properties -->
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="jar.name" value="myproject.jar"/>
<!-- Targets -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
</target>
<target name="jar" depends="compile">
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
</target>
<target name="default" depends="jar"/>
</project>
build.xml
ফাইলের কম্পোনেন্টগুলো<?xml version="1.0" encoding="UTF-8"?>
<project>
ট্যাগproject
ট্যাগটি মূলত ফাইলের রুট ট্যাগ হিসেবে কাজ করে।name
: প্রকল্পের নাম।default
: ডিফল্ট টার্গেট যেটি ant
কমান্ডের মাধ্যমে রান হবে।basedir
: প্রকল্পের বেস ডিরেক্টরি। এটি .
(বর্তমান ডিরেক্টরি) হিসেবে সেট করা থাকে, তবে আপনি অন্য কোনো ডিরেক্টরি নির্দিষ্ট করতে পারেন।<property>
ট্যাগproperty
ট্যাগগুলি পরিবর্তনশীল (properties) ডিফাইন করে যা অন্যান্য টাস্কে ব্যবহৃত হয়।name
: প্রপার্টির নাম।value
: প্রপার্টির মান।উদাহরণ:
<property name="src.dir" value="src"/>
<target>
ট্যাগtarget
ট্যাগগুলো হল সেই কার্যাবলী যা ANT টাস্ক হিসাবে রান হবে। প্রতিটি target
এক বা একাধিক টাস্ক ধারণ করে।name
: টার্গেটের নাম।depends
: অন্য কোন টার্গেটের উপর নির্ভরশীলতা (যদি থাকে)।উদাহরণ:
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
</target>
compile
টার্গেটটি clean
টার্গেটের উপর নির্ভরশীল, অর্থাৎ clean
টার্গেট আগে রান হবে।উদাহরণ:
<javac>
: জাভা কোড কম্পাইল করার জন্য।<jar>
: জার ফাইল তৈরি করার জন্য।<mkdir>
: ডিরেক্টরি তৈরি করার জন্য।<delete>
: ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য।উদাহরণ:
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
উদাহরণ:
<target name="compile" depends="clean">
build.xml
ফাইলের উদাহরণ<?xml version="1.0" encoding="UTF-8"?>
<project name="SampleProject" default="build" basedir=".">
<!-- Defining properties -->
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="jar.name" value="sample.jar"/>
<!-- Clean target -->
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<!-- Compile target -->
<target name="compile" depends="clean">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}" destdir="${build.dir}/classes"/>
</target>
<!-- Create JAR -->
<target name="jar" depends="compile">
<jar destfile="${build.dir}/${jar.name}" basedir="${build.dir}/classes"/>
</target>
<!-- Default target -->
<target name="build" depends="jar"/>
</project>
clean
টার্গেটের পরে src
ডিরেক্টরি থেকে জাভা কোড কম্পাইল করবে এবং build/classes
ডিরেক্টরিতে সংরক্ষণ করবে।compile
টার্গেটের পরে একটি জার ফাইল তৈরি করবে।jar
টার্গেট চালাবে।build.xml
ফাইলের মাধ্যমে আপনি আপনার প্রকল্পের বিল্ড প্রসেস কনফিগার এবং অটোমেট করতে পারেন।common.read_more